Skip to content

chore(connd): connection report for troubleshooting#999

Merged
vmenge merged 8 commits intomainfrom
vm/wwan-dns-resolution-report
Feb 19, 2026
Merged

chore(connd): connection report for troubleshooting#999
vmenge merged 8 commits intomainfrom
vm/wwan-dns-resolution-report

Conversation

@vmenge
Copy link
Collaborator

@vmenge vmenge commented Feb 18, 2026

adds dns resolution and connectivity diagnostics to the network change reporter, to help troubleshoot issues like being stuck on ConnectedSite when connectivity actually works.

new

  • resolved::Resolved module wrapping systemd-resolved's org.freedesktop.resolve1 d-bus interface via zbus_systemd

    • resolve_hostname(iface, hostname) — resolves a hostname on a specific interface, returns addresses, canonical name, and response flags (cache/network/authenticated/etc)
    • link_status(iface) — per-link dns status: current dns server, all dns servers, search/routing domains, default route
  • net_changed_reporter::report() added, reporting:

    • connection event state
    • active connections with gateway/dns info
    • per-interface resolvectl status and resolvectl query results
    • connectivity check http response details (ok/fail based on status code)

changed

  • ActiveConn now includes ipv4_gateway, ipv4_dns, ipv6_gateway, ipv6_dns fields
  • active_connections() uses ip_interface() instead of interface() to get the actual ip-bearing interface (fixes wwan showing as cdc-wdm0 instead of wwan0)

@vmenge vmenge requested a review from a team as a code owner February 18, 2026 19:43
…om:worldcoin/orb-software into vm/wwan-dns-resolution-report
Comment on lines 200 to 203
let client = reqwest::Client::builder()
.redirect(reqwest::redirect::Policy::none())
.timeout(Duration::from_secs(5))
.build()?;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we do this at the top of the report_loop(), and pass it over to the connectivity_check?
From the docs

The Client holds a connection pool internally to improve performance by reusing connections and avoiding setup overhead, so it is advised that you create one and reuse it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i wouldn't expect any significant difference here as this is called very infrequently and most of the times most likely with a longer interval than the connection idle timeout.

pushed the change either way though as it won't hurt either

@vmenge vmenge merged commit df7d171 into main Feb 19, 2026
23 checks passed
@vmenge vmenge deleted the vm/wwan-dns-resolution-report branch February 19, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments